#include #include using namespace std; const int BOARD_SIZE = 9; void displayBoard(char board[]) { system("cls"); cout << board[0] << "|" << board[1] << "|" << board[2] << endl; cout << "-----\n"; cout << board[3] << "|" << board[4] << "|" << board[5] << endl; cout << "-----\n"; cout << board[6] << "|" << board[7] << "|" << board[8] << endl; } void getMove(int& move, char board[], char turn) { do { cout << turn << "'s turn >"; cin >> move; move--; } while(move < 0 || move >= BOARD_SIZE || board[move] == 'X' || board[move] == 'O'); } bool playerHasWon(char board[], char player) { bool result = false; if(false) { result = true; } return result; } bool catHasWon(char board[]) { bool result = false; if(false) { result = true; } return result; } bool gameOver(char board[]) { bool result = false; if( playerHasWon(board,'X') || playerHasWon(board,'O') || catHasWon(board)) { result = true; } return result; } void main() { //board is pointer to an array of 9 chars //a pointer is a variable that holds an address char board[BOARD_SIZE] = {'1','2','3','4','5','6','7','8','9'}; int move; char turn = 'X'; do { displayBoard(board); getMove(move, board, turn); board[move] = turn; turn = (turn == 'X')? 'O' : 'X'; } while(!gameOver(board)); if(playerHasWon(board,'X')) { cout << "X wins\n"; } else if(playerHasWon(board,'O')) { cout << "O wins\n"; } else { cout << "CAT wins\n"; } displayBoard(board); }